﻿using System.Drawing;

namespace AiFrame.InterfaceLib.Windows.Controls
{
    /// <summary>
    /// Specifies the theme for the navigation bar.
    /// </summary>
    public interface INavigationBarTheme
    {
        /// <summary>
        /// Returns the header's font.
        /// </summary>
        /// <returns>The font.</returns>
        Font GetNavBarHeaderFont();

        /// <summary>
        /// Returns the background image of the header.
        /// </summary>
        /// <returns>The background image.</returns>
        Image GetNavBarHeaderImage();
        
        /// <summary>
        /// Returns the footer's image.
        /// </summary>
        /// <returns>The image.</returns>
        Image GetNavBarFooterImage();

        /// <summary>
        /// Specifies the button's font.
        /// </summary>
        /// <returns>The font.</returns>
        Font GetNavBarButtonFont();

        /// <summary>
        /// Specifies the font color of the button.
        /// </summary>
        /// <returns>The color.</returns>
        Color GetNavBarButtonFontColor();

        /// <summary>
        /// Specifies the button's image in normal state.
        /// </summary>
        /// <returns>The image.</returns>
        Image GetNavBarButtonImageNormal();

        /// <summary>
        /// Specifies the button's image when hovered.
        /// </summary>
        /// <returns>The image.</returns>
        Image GetNavBarButtonImageHovered();

        /// <summary>
        /// Specifies the button's image when pressed.
        /// </summary>
        /// <returns>The image.</returns>
        Image GetNavBarButtonImagePressed();
    }
}